home *** CD-ROM | disk | FTP | other *** search
- /*
- File: CADefs.h
-
- Contains: Container Application Library header (public)
-
- Written by: Steve Foley
-
- Copyright: © 1994 by Apple Computer, Inc., all rights reserved.
-
- Change History (most recent first):
-
- <7> 11/10/95 RB Added kODPromiseFlavor, removed kODDragFlavor
- <6> 5/6/95 SJF WWDC bug fix session with Rick
- <5> 5/4/95 SJF Add CAError defintions
- <4> 4/23/95 RB Added CAFocus types
- <2> 4/7/95 SJF Cleanup
- <2> 4/6/95 SJF Cleanup...
- <0> 4/4/95 SJF Yanked defs from CALib.h file
-
- To Do:
- - Implement
- */
- #ifndef _CADEFS_
- #define _CADEFS_
-
- //=========================================================================
- // Constants
- //=========================================================================
-
- // CALib Version constant
- #define CALIB_VERSION_1 ((short)0x0100)
-
- // CA Error codes
- #define kCAErrBase 3000
- #define kCAErrInvalidParameter kCAErrBase+0 // A bad param was passed to a CA routine
- #define kCAErrCantResolve kCAErrBase+1 // Error resolving a CARef type
- #define kCAErrBadDocumentRef kCAErrBase+2 // NULL or invalid Document ref
- #define kCAErrExistingHandler kCAErrBase+3 // Attempt to install duplicate handler
- #define kCAErrInvalidHandler kCAErrBase+4 // Attempt to remove wrong handler
- #define kCAErrMissingHandler kCAErrBase+5 // Required handler not installed.
- #define kCAErrFrameAccess kCAErrBase+6 // Can't access frames until a window is associated
- #define kCAErrCantGetFocus kCAErrBase+7
- #define kCAErrCantFocusDocument kCAErrBase+8 // Error setting document kind for i/o
- #define kCAErrInvalidKind kCAErrBase+9 // For multiple document kind routines
- #define kCAErrKindExists kCAErrBase+10 // CAAddKind() - kind already exists
- #define kCAErrFileDoesNotExist kCAErrBase+11 // CASaveDocument().
- #define kCAErrIllegalOperation kCAErrBase+12 //
-
- // CACloneKinds - Passed to CAGetClipboardDocument() & CAGetDragDropDocument()
- #define kCACloneCopy 1UL
- #define kCACloneCut 2UL
- #define kCAClonePaste 3UL
- #define kCACloneDropCopy 4UL
- #define kCACloneDropMove 5UL
- #define kCACloneToLink 6UL
- #define kCACloneFromLink 7UL
- #define kCACloneAll 8UL
-
- // Drag result codes
- #define kCADropFail 1UL
- #define kCADropCopy 2UL
- #define kCADropMove 3UL
-
-
- #ifndef CALIBBUILD // Include these only as part of the public API
-
- // Data transfer scrap formats
- #define kODShellSignature 'odtm'
- #define kCAScrapTypeODBentoContainer 'odcn'
- #define kCAPromiseFlavor 'prms'
- #define kCABentoFlavor 0x626E746F // 'bnto'
- #define kCAUserPromiseFlavor 0x66696c65 // 'file' ** For promising (not in 1.0)
- //#define kCAHFSPromise "OpenDoc:Type:HFSPromise" // ** not in 1.0
- #define kCAHFSPromise "+//ISO 9070/ANSI::113722::US::CI LABS::OpenDoc::Type:HFSPromise"
-
- // kODAppleScrapTypePrefix should be prepended to standard OSType scrap types
- // ('PICT', 'TEXT', etc) before calling CAAddKind() or CASetDocumentKind()
- #define kODAppleScrapTypePrefix "+//ISO 9070/ANSI::113722::US::CI LABS::MacOS:ScrapType:"
-
- // Menu command id's
- #ifndef SOM_Module_OpenDoc_Commands_defined
-
- #define kCACommandShellFirst 1000
- #define kCACommandShellLast 20000
- #define kCACommandAppleMenu 1000
- #define kCACommandAbout 1001
- #define kCACommandDocumentMenu 2000
- #define kCACommandNew 2001
- #define kCACommandOpen 2002
- #define kCACommandOpenDocument 2003
- #define kCACommandInsert 2004
- #define kCACommandClose 2005
- #define kCACommandDeleteDocument 2006
- #define kCACommandSave 2007
- #define kCACommandSaveACopy 2008
- #define kCACommandRevert 2009
- #define kCACommandDraft 2010
- #define kCADCommandDocumentInfo 2011
- #define kCACommandPageSetup 2012
- #define kCACommandPrint 2013
- #define kCACommandEditMenu 3000
- #define kCACommandUndo 3001
- #define kCACommandRedo 3002
- #define kCACommandCut 3003
- #define kCACommandCopy 3004
- #define kCACommandPaste 3005
- #define kCACommandPasteAs 3006
- #define kCACommandClear 3007
- #define kCACommandSelectAll 3008
- #define kCACommandGetPartInfo 3009
- #define kCACommandPreferences 3010
- #define kCACommandViewAsWin 3011
-
- // Menu command version
- #define OpenDoc_Commands_OpenDoc_Commands_Version "1.0."
-
- #endif
- #endif // CALIBBUILD
-
-
- //=========================================================================
- // CALib Types
- //=========================================================================
-
- //-------------------------------------------------------------------------
- // General
- //-------------------------------------------------------------------------
-
- typedef unsigned long CASize;
- typedef unsigned long CAOffset;
- typedef unsigned long CACloneKey;
- typedef unsigned long CACloneKind;
- typedef unsigned long CADropResult;
- typedef char* CAISOStr;
-
- typedef unsigned long CAReference;
-
- //-------------------------------------------------------------------------
- // Storage
- //-------------------------------------------------------------------------
-
- typedef CAReference CADocumentRef; // CADocumentHandle
- typedef CAReference CAFrameRef;
-
-
- //-------------------------------------------------------------------------
- // Imaging
- //-------------------------------------------------------------------------
-
-
- // CATransform
-
- #if powerc
- # pragma options align=mac68k
- #endif
-
- typedef struct CATransform {
- long m[3][3];
- } CATransform;
-
- // CAGraphicsSystem (For CAGetCanvas() calls)
-
- enum {
- kCAQuickDraw = 1,
- kCAQuickDrawGX = 2
- };
-
- typedef short CAGraphicsSystem;
-
- //-------------------------------------------------------------------------
- // Layout
- //-------------------------------------------------------------------------
-
- // CAVisFrame
-
- typedef CAReference CAVisFrame;
-
- // CAHighlight
-
- enum {
- kCANoHighlight = 0,
- kCAFullHighlight,
- kCADimHighlight
- };
- typedef short CAHighlight;
-
-
- //-------------------------------------------------------------------------
- // Arbitration / Focusing
- //-------------------------------------------------------------------------
-
- enum {
- kCAPrimaryFocus, // There is only one focus now (but room for expansion)
- kCAModalFocus
- };
- typedef short CAFocusType;
-
-
- //-------------------------------------------------------------------------
- // Menus
- //-------------------------------------------------------------------------
-
- typedef short CAMenuID;
- typedef short CAMenuItemID;
- typedef long CACommandID;
-
- //-------------------------------------------------------------------------
- // Events
- //-------------------------------------------------------------------------
-
- #define kCAEvtMouseDownEmbedded 99 /* 99 */
- #define kCAEvtMouseUpEmbedded 100 /* 100 */
- #define kCAEvtMouseDownBorder 101 /* 101 */
- #define kCAEvtMouseUpBorder 102 /* 102 */
- #define kCAEvtBGMouseDownEmbedded 107 /* 107 */
-
- typedef struct CAEventInfo
- {
-
- short eventType;
- CAFrameRef embeddedFrame;
- CAVisFrame embeddedVisFrame;
- Boolean propagated;
-
- } CAEventInfo;
-
- //-------------------------------------------------------------------------
- // Window Management
- //-------------------------------------------------------------------------
-
- enum {
- kCANoLayer,
- kCADocumentWindow,
- kCAFloatingWindow
- };
- typedef short CAWindowLayer;
-
-
- //=========================================================================
- // Proc type definitions
- //=========================================================================
-
- //-------------------------------------------------------------------------
- // Error reporting
- //-------------------------------------------------------------------------
-
- typedef void (* CAErrorProc) ( OSErr, char* mesg );
-
- //-------------------------------------------------------------------------
- // Embedded Frame Callbacks (Required)
- //-------------------------------------------------------------------------
-
- typedef pascal Boolean (*CAFrameShapeRequestHandler)( CADocumentRef,
- CAFrameRef,
- RgnHandle);
-
-
- //-------------------------------------------------------------------------
- // Window Management Callbacks (Optional)
- //-------------------------------------------------------------------------
-
- typedef WindowPtr (*CAFrontWindowHandler) ( CAWindowLayer );
- typedef void (*CASelectWindowHandler) ( WindowPtr );
- typedef Boolean (*CAIsFloaterHandler) ( WindowPtr );
-
- // CAWindowActivateHandler - Called when a window is activated, deactivated
- // by the ODWindowState. OD does not generate activate events.
-
- typedef void (*CAWindowActivateHandler) ( WindowPtr, Boolean);
-
- //-------------------------------------------------------------------------
- // Arbitration / Focusing
- //-------------------------------------------------------------------------
-
- typedef void (* CAFocusAcquiredProc) ( CADocumentRef, CAFocusType );
- typedef void (* CAFocusLostProc) ( CADocumentRef, CAFocusType );
-
-
- //-------------------------------------------------------------------------
- // Imaging
- //-------------------------------------------------------------------------
-
- typedef void (* CACanvasUpdatedProc) ( GrafPtr );
-
- //-------------------------------------------------------------------------
- // UI Events ***
- //-------------------------------------------------------------------------
-
- typedef Boolean (* CAAdjustBorderProc) ( CADocumentRef, CAFrameRef, RgnHandle );
-
-
- //-------------------------------------------------------------------------
- // UPP support
- //-------------------------------------------------------------------------
-
-
- //-------------------------------------------------------------------------
- #if GENERATINGCFM
- typedef UniversalProcPtr CAFrameShapeRequestHandlerUPP;
- #else
- typedef CAFrameShapeRequestHandlerProc CAFrameShapeRequestHandlerUPP;
- #endif
-
- enum {
-
- uppFrameShapeRequestHandlerInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(CADocumentRef)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(CAFrameRef)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(RgnHandle)))
-
- };
-
- //-------------------------------------------------------------------------
- #if GENERATINGCFM
- typedef UniversalProcPtr CAWindowActivateHandlerUPP;
- #else
- typedef CAWindowActivateHandlerProc CAWindowActivateHandlerUPP;
- #endif
-
- enum {
-
- uppCAWindowActivateHandlerInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(WindowPtr)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(Boolean)))
-
- };
-
- //-------------------------------------------------------------------------
- #if GENERATINGCFM
- typedef UniversalProcPtr CAFrontWindowHandlerUPP;
- #else
- typedef CAFrontWindowHandlerProc CAFrontWindowHandlerUPP;
- #endif
-
- enum {
- uppCAFrontWindowHandlerInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(WindowPtr)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(CAWindowLayer)))
- };
-
- //-------------------------------------------------------------------------
- #if GENERATINGCFM
- typedef UniversalProcPtr CASelectWindowHandlerUPP;
- #else
- typedef CASelectWindowHandlerProc CASelectWindowHandlerrUPP;
- #endif
-
- enum {
- uppCASelectWindowHandlerInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(WindowPtr)))
- };
-
- //-------------------------------------------------------------------------
- #if GENERATINGCFM
- typedef UniversalProcPtr CAIsFloaterHandlerUPP;
- #else
- typedef CAIsFloaterHandlerProc CAIsFloaterHandlerUPP;
- #endif
-
- enum {
- uppCAIsFloaterHandlerInfo = kPascalStackBased
- | RESULT_SIZE(SIZE_CODE(sizeof(Boolean)))
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(WindowPtr)))
- };
-
- //-------------------------------------------------------------------------
- #if GENERATINGCFM
- typedef UniversalProcPtr CAFocusAcquiredProcUPP;
- #else
- typedef CAFocusAcquiredProcProc CAFocusAcquiredProcUPP;
- #endif
-
- enum {
-
- uppCAFocusAcquiredProcInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(CADocumentRef)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(CAFocusType)))
-
- };
-
- //-------------------------------------------------------------------------
- #if GENERATINGCFM
- typedef UniversalProcPtr CAFocusLostProcUPP;
- #else
- typedef CAFocusLostProcProc CAFocusLostProcUPP;
- #endif
-
- enum {
-
- uppCAFocusLostProcInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(CADocumentRef)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(CAFocusType)))
-
- };
-
- //-------------------------------------------------------------------------
- #if GENERATINGCFM
- typedef UniversalProcPtr CACanvasUpdatedProcUPP;
- #else
- typedef CACanvasUpdatedProcProc CACanvasUpdatedProcUPP;
- #endif
-
- enum {
-
- uppCACanvasUpdatedProcInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(GrafPtr)))
- };
-
- //-------------------------------------------------------------------------
- #if GENERATINGCFM
- typedef UniversalProcPtr CAAdjustBorderProcUPP;
- #else
- typedef CAAdjustBorderProcProc CAAdjustBorderProcUPP;
- #endif
-
- enum {
-
- uppCAAdjustBorderProcInfo = kPascalStackBased
- | STACK_ROUTINE_PARAMETER(1, SIZE_CODE(sizeof(CADocumentRef)))
- | STACK_ROUTINE_PARAMETER(2, SIZE_CODE(sizeof(CAFrameRef)))
- | STACK_ROUTINE_PARAMETER(3, SIZE_CODE(sizeof(RgnHandle)))
-
- };
-
-
- #endif